package Arrays类;

import java.util.Arrays;
import java.util.function.IntToDoubleFunction;

public class Test {
    public static void main(String[] args) {
        // 目标: 掌握Arrays类的常用方法.

        // 1. toString(类型[] arr); 返回数组的内容
        int[] arr = {1,2,3,4,5,6};
        System.out.println(arr);
        System.out.println(Arrays.toString(arr));

        // 2. copyOfRange(类型[] arr,起始索引,结束索引); 拷贝数组(指定范围,包前不包后)
        int[] arr2 = Arrays.copyOfRange(arr, 1, 3);
        System.out.println(Arrays.toString(arr2));//  (包前不包后)

        // 3. copyOf(类型[] arr, int newLength); 拷贝数组,可以指定新数组的长度
        int[] arr3 = Arrays.copyOf(arr, 10);
        System.out.println(Arrays.toString(arr3));

        // 4. setAll(double[] array, IntToDoubleFunction generator); 把数组中的原数据改为新数据又存进去
        double[] price = {99.8,128,100};
        // 把所有的价格打八折再存进去
        Arrays.setAll(price, value -> price[value] * 0.8);//这里用了Lambda表达式的简化格式
        System.out.println(Arrays.toString(price));// 这里就全部打八折了

        // 5. sort(类型[] arr); 对数组进行排序(默认是升序排序)
        Arrays.sort(price);
        System.out.println(Arrays.toString(price));

    }
}
